Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove class nesting #585

Merged
merged 1 commit into from
Feb 3, 2023
Merged

Remove class nesting #585

merged 1 commit into from
Feb 3, 2023

Conversation

mjp41
Copy link
Member

@mjp41 mjp41 commented Jan 26, 2023

Nesting the class inside a function generates bad code in Debug (#584). Unnesting seems to fix this.

Nesting the class inside a function generates bad code in Debug (microsoft#584).
Unnesting seems to fix this.
@mjp41
Copy link
Member Author

mjp41 commented Jan 30, 2023

So this almost halves the time taken in ./perf-singlethread-fast in Debug.

Before PR:

Count:  32768, Size:     16, ZeroMem: 1, Write: 1:    710732132 ns

After this PR:

Count:  32768, Size:     16, ZeroMem: 1, Write: 1:    402341898 ns

There also seems to be an improvement on time for Release. I am going to investigate this more deeply.

@mjp41
Copy link
Member Author

mjp41 commented Jan 30, 2023

The issues seems to be dependent on the version of Clang. On Clang-10, I had slow downs, but not on Clang-12.

@mjp41
Copy link
Member Author

mjp41 commented Jan 30, 2023

I propose taking this refactoring.

@nwf
Copy link
Collaborator

nwf commented Jan 30, 2023

Hrm. It LGTM but the cluster CI seems to be acting up. I'll look when I get a minute or when I get back.

@mjp41 mjp41 merged commit 627653a into microsoft:main Feb 3, 2023
@mjp41 mjp41 deleted the pbf branch February 3, 2023 14:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants